草庐IT

c++ - MinGW 找不到 inttypes.h

全部标签

c - 获取 CPU 型号名称、供应商 ID、Windows C 中的物理处理器数量

我看到了this主题,但我没有提供我需要的所有信息。是否有任何可移植的方式(仅限所有Windows的可移植)来获取cpu型号名称、供应商ID和物理处理器的数量? 最佳答案 您提供的链接适用于Windows的移动版本,因此如果您所说的可移植版本也指桌面版本,那么GetSystemInfo可用于(如所述)Window2000及更高版本的所有版本。如果您需要比这更旧的版本,那么您应该给出一些限制。 关于c-获取CPU型号名称、供应商ID、WindowsC中的物理处理器数量,我们在StackOv

c# - Unity3d 在构建后看不到项目文件夹中的 XML 文件

我正在使用XML文件来存储一些数据,因此将更容易本地化为其他语言,因为Unity在resx方面存在问题,我必须使用XML。在UnityEditor中一切正常,但当我构建它时,它在第一次使用XML时停止工作。我猜Unity只是出于某种原因无法访问XML文件,因为当我尝试手动将XML文件放入“我的文档”文件夹并使用对它们的引用时,它起作用了。这是xml文件的当前路径:Assets/Scripts/Core/Localization/lang.eng.xml在UnityEditor中运行良好,在构建时无法运行。这是另一个(但必须手动将它们放在这里):Environment.GetFolder

windows - mingw32-make 启动失败

每当我尝试从cmd运行mingw32-make时,我都会看到这个对话框:我已经尝试重新安装mingw32-make(相同版本和之前的版本),但问题仍然存在。无论向mingw32-make提供任何参数或输入,也不管当前目录中是否有Makefile,都会发生此错误。查了一下错误,好像是mingw32-make依赖的dll有问题。我尝试在mingw32-make.exe上运行DependencyWalker,看起来它所依赖的几乎所有DLL(~140个单独的文件)都是64位的,而应用程序本身是32位的。这是MinGW安装程序中的错误吗?有没有一种简单的方法可以解决它,而不是为其依赖的所有DLL

c - Windows 上的 gcc 生成垃圾? Windows 与 Linux

我想找出为什么在Windows中对同一程序的指令比在Linux中多得多。所以我只用了inta=0xbeef;和printf("test\n");在C中并在Linux和Windows中编译。当我调试和反汇编主机时,我得到了这个:在Linux上:0x080483e4:push%ebp0x080483e5:mov%esp,%ebp0x080483e7:and$0xfffffff0,%esp0x080483ea:sub$0x20,%esp0x080483ed:movl$0xbeef,0x1c(%esp)0x080483f5:movl$0x80484d0,(%esp)0x080483fc:cal

c - RegQueryValueEx()读取REG_DWORD时总是在*lpData中填0

我对RegQueryValueEx()函数有疑问当我使用它时,它用0填充*lpDataLONGWINAPIRegQueryValueEx(_In_HKEYhKey,_In_opt_LPCTSTRlpValueName,_Reserved_LPDWORDlpReserved,_Out_opt_LPDWORDlpType,_Out_opt_LPBYTElpData,_Inout_opt_LPDWORDlpcbData);这是不起作用的代码#include#includeintmain(){HKEYhKey=NULL;DWORDdata=42;DWORDtype=REG_DWORD;DWOR

c - 未使用 MinGW 编译的 Winsock 服务器代码

以下是来自http://msdn.microsoft.com/en-us/library/windows/desktop/ms737593(v=vs.85).aspx的winsock服务器代码#undefUNICODE#defineWIN32_LEAN_AND_MEAN#include#include#include#include#include//NeedtolinkwithWs2_32.lib#pragmacomment(lib,"Ws2_32.lib")//#pragmacomment(lib,"Mswsock.lib")#defineDEFAULT_BUFLEN512#def

c - 如何检查套接字上是否有数据可用?

SOCKETs;//CreateaSOCKETforlisteningfor//incomingconnectionrequests.SOCKETnew_socket;//createasocketforacceptingincomingconnectionuint16port=18001;voidCreateSocket(){intsin_size;WSADATAwsa;structsockaddr_inserver,master;//creatingasocketaddressstructure:structurecontainsipaddressandportnumberprin

c++ - timeEndPeriod 是恢复之前的值还是默认值?

假设默认计时器分辨率为15毫秒。鉴于这种情况:ProcessAcallstimeBeginPeriod(1);Nowtimerresolutionis1ms.ProcessBcallstimeBeginPeriod(2);Nowtimerresolutionis2ms.ProcessBcallstimeEndPeriod(2);那么定时器分辨率是多少?它会回落到1毫秒还是15毫秒?让我们稍微修改一下场景:ProcessAcallstimeBeginPeriod(1);Nowtimerresolutionis1ms.ProcessBcallstimeBeginPeriod(2);Nowt

c - 在 vtbl 中命名函数指针

抱歉,初学者的问题。在非常好的文章中CominplainC我读到这句话:OnerequirementofaCOMobjectisthatthefirstthreemembersofourVTable(i.e.,ourIExampleVtblstruct)mustbecalledQueryInterface,AddRef,andRelease.这是真的吗?如果更改名称,但参数、调用约定和返回值将相同怎么办?你还在做这个吗?如果不是,为什么?非常感谢您的回复。(正面或负面。) 最佳答案 每个COM接口(interface)都必须派生自I

c - 无法在 Windows 8 上使用 MinGW 执行 execl()

我有一个文件hello.exe,文件路径是D:\test\hello.exe,这是一个简单的helloworld程序(测试ok)。我还有一个程序proc.c,文件路径是D:\test\proc.c,代码如下:#include#include#include#include#include#includemain(intargc,char*argv[]){intret;ret=execl("D:\\test\\hello.exe","D:\\test\\hello.exe");if(ret==-1)printf("%d:\t%s",ret,errno);}程序挂起(windows对话框显